home *** CD-ROM | disk | FTP | other *** search
- ****************************************************************
- MICROSOFT SQL SERVER
- MICROSOFT ODBC-TREIBER fⁿr SQL SERVER
- INFODATEI ZUR INSTALLTION, VERSION 3.7
- ****************************************************************
-
- In dieser Datei wird die Verwendung des Microsoft SQL Server
- ODBC-Treibers, Version 3.7 zusammen mit Microsoft SQL Server,
- Version 6.5 oder frⁿher beschrieben.
-
- Da der Microsoft SQL Server ODBC-Treiber Version 3.7 in SQL Server 7.0
- enthalten ist, sollten Benutzer von SQL Server 7.0
- Informationen zu diesem Treiber der SQL Server 7.0-Dokumentation
- und nicht dieser Readme-Datei entnehmen.
-
- Themen:
-
- 1. ▄bersicht
- 2. Installieren von Instcat.sql auf dem Server
- 3. Abrufen der SQL Server Client Net-Libraries
- 4. Informationsquellen zur Verwendung von ODBC mit SQL Server
- 5. Verwendung des Treibers in einer Entwicklerumgebung
- 6. KompatibilitΣt
-
- ****************************************************************
- 1. ▄bersicht
-
- Die Version 3.7 des ODBC-Treibers fⁿr SQL Server ist
- ein Win32 ODBC-Treiber der Version 3.51 und kann mit Anwendungen
- verwendet werden, die fⁿr ODBC 2.X- oder ODBC 3.X-APIs
- geschrieben wurden. Der Treiber kann mit SQL Server
- Version 4.21a oder h÷her verwendet und unter Windows 98, 95 oder
- Windows NT (Version 4.0 oder h÷her) ausgefⁿhrt werden.
-
- Au▀erdem enthΣlt die Version 3.7 des ODBC-Treibers fⁿr SQL Server
- ein Win32-SQL Server 7.0-Client-Netzwerk-Dienstprogramm.
- Dieses Dienstprogramm kann mit Microsoft SQL Server
- Version 4.21a oder h÷her und den Client Net-Libraries verwendet
- werden, die in diesen Versionen von SQL Server enthalten sind.
-
- ****************************************************************
- 2. Installieren von Instcat.sql auf dem Server
-
- Der ODBC-Treiber fⁿr SQL Server verwendet eine Reihe von auf dem
- System gespeicherten Prozeduren, auch gespeicherte
- Katalogprozeduren genannt, um von dem SQL Server-Systemkatalog
- Informationen abzurufen. Jede Version des Microsoft ODBC-Treibers
- fⁿr SQL Server wurde zur Verwendung mit einer speziellen Version
- von gespeicherten Katalogprozeduren entwickelt.
-
- Die Datei Instcat.sql, die in der Version 3.7 des ODBC-Treibers
- fⁿr SQL Server enthalten ist, enthΣlt geringfⁿgige Aktualisierungen
- der gespeicherten Katalogprozeduren, die die Prozeduren auf die von
- diesem Treiber verwendete Versionen aufrⁿsten. Die Datei Instcat.sql,
- die in der Version 3.7 des ODBC-Treibers fⁿr SQL enthalten ist, ist
- mit der Datei Instcat.sql identisch, die in SQL Server 7.0 enthalten
- ist. SQL Server 7.0-Standorte mⁿssen die Datei Instcat.sql nicht ausfⁿhren.
-
-
- Der SQL Server-Systemadministrator mu▀ zur Aktualisierung der
- gespeicherten Katalogprozeduren das Instcat.sql-Skript verwenden,
- um den ordnungsgemΣ▀en Betrieb des Treibers sicherzustellen. Das
- Aktualisieren der gespeicherten Katalogprozeduren wirkt sich
- nicht auf frⁿhere SQL Server-Clients aus. Die gespeicherten
- Katalogprozeduren mⁿssen fⁿr alle Versionen von Microsoft SQL
- Server (4.21a bis 6.5) aktualisiert werden. Wenn Sie SQL
- Server 7.0 haben, ist eine Aktualisierung nicht erforderlich.
-
-
- Um die gespeicherten Katalogprozeduren auf SQL Server 4.21a,
- 6.0 oder 6.5 zu aktualisieren, mu▀ der Systemadministrator
- unter Verwendung des Isql-Dienstprogramms (siehe Anleitungen
- weiter unten) das Instcat.sql-Skript ausfⁿhren. Vor dem
- Vornehmen von ─nderungen an der Master-Datenbank sollte der
- Systemadministrator eine Sicherungskopie erstellen. Ihr Computer
- mu▀ als Clientarbeitsstation fⁿr Microsoft SQL Server
- konfiguriert werden, um das Isql-Dienstprogramm auszufⁿhren.
-
- Verwenden Sie bei einer Befehlseingabeaufforderung das
- Isql-Dienstprogramm, um das Instcat.sql-Skript auszufⁿhren.
- Beispiel:
-
- C:> ISQL /Usa /Psa_password /Sserver_name /ilocation\Instcat.Sql
-
- sa_password
- ist das Kennwort des Systemadministrators.
- server_name
- ist der Name des Servers, auf dem sich der SQL Server
- befindet.
- location
- ist der vollstΣndige Pfad, unter dem das
- Instcat.Sql-Skript gespeichert ist.
-
- Das Instcat.sql-Skript erstellt eine Vielzahl von Meldungen. Die
- meisten Meldungen geben an, wie viele Zeilen von den
- Transact-SQL-Anweisungen betroffen waren, die von dem Skript
- ausgegeben wurden. Sie k÷nnen die meisten Meldungen ignorieren,
- sollten jedoch die Ausgabe nach Meldungen ⁿberprⁿfen, die
- Ausfⁿhrungsfehler angeben. Wenn das Instcat.sql-Skript auf einem
- SQL Server der Version 6.0 ausgefⁿhrt wird, kann die Meldung, da▀
- das Objekt sp_MS_upd_sysobj_category nicht existiert, ignoriert
- werden. Die letzte Meldung sollte Sie darⁿber unterrichten, da▀
- das Instcat.sql-Skript erfolgreich durchgefⁿhrt wurde. Das
- Ausfⁿhren des Instcat.sql-Skripts schlΣgt fehl, wenn in der
- Master-Datenbank nicht ausreichend Speicherplatz vorhanden ist,
- um die gespeicherten Katalogprozeduren zu speichern oder die
- ─nderungen an vorhandenen Prozeduren zu protokollieren.
-
- ****************************************************************
- 3. Abrufen der Client Net-Libraries fⁿr SQL Server
-
- Der ODBC-Treiber fⁿr SQL Server verwendet zur
- Kommunikation mit dem Server die Microsoft Client Net-Libraries
- fⁿr SQL Server.
- Die Version 3.7 des ODBC-Treibers fⁿr SQL Server verwendet
- au▀erdem das Dienstprogramm zur SQL Server-Client-Konfiguration,
- um die mit einer ODBC-Datenquelle verknⁿpfte Net-Library zu
- verwalten.
-
- Version 3.7 des ODBC-Treibers fⁿr SQL Server installiert nur eine
- Net-Library: die Datei Dbnmpntw.dll (Win32 Named Pipe Net-Library).
-
- Sie k÷nnen die Version 3.7 des ODBC-Treibers fⁿr SQL Server mit
- frⁿheren Win32 Net-Libraries verwenden. Wenn zur Herstellung einer
- Verbindung zum SQL Server eine andere als die Named Pipe Net-Library
- ben÷tigt wird, k÷nnen Sie die Net-Library verwenden, die in Ihrer
- Version von SQL Server enthalten ist. Sie erhalten SQL
- Server Net-Libraries, indem Sie die Win32-SQL
- Server-Client-Dienstprogramme fⁿr Ihre Version von SQL
- Server installieren.
-
- Die Version des SQL Server-Client-Netzwerk-Dienstprogramms, das
- in der Version 3.7 des ODBC-Treibers fⁿr SQL Server enthalten ist,
- kann mit den Client Net-Libraries von SQL Server 4.21a oder h÷her
- verwendet werden.
-
- ****************************************************************
- 4. Informationsquellen zur Verwendung von ODBC mit SQL Servern
-
- Die Version 3.7 des ODBC-Treibers fⁿr Microsoft SQL Server ist
- derselbe Treiber wie der, der in SQL Server 7.0 enthalten ist.
- Benutzer von SQL Server 7.0 erhalten Angaben zur Version 3.7 des
- ODBC-Treibers fⁿr SQL Server in der SQL Server 7.0-Dokumentation.
-
- Wenn die Version 3.7 des ODBC-Treibers fⁿr SQL Server mit SQL Server
- (Version 4.21a, 6.0 oder 6.5) verwendet wird, wird der Treiber
- auf dieselbe Art wie die frⁿheren Treiberversionen betrieben.
- Diese Version von SQL Server enthΣlt treiberspezifische Informationen,
- die in den folgenden Informationsquellen nachgelesen werden k÷nnen:
-
- * Datei drvssrvr.hlp, die in der frⁿheren Version von SQL Server
- enthalten ist.
-
- * Abschnitt "Programming ODBC for Microsoft SQL Server" in
- den SQL Server 6.5-Handbⁿchern.
-
- * Wei▀buch "Using ODBC with Microsoft SQL Server" auf der
- Microsoft-Website.
-
-
- Fⁿr die Version 3.7 des Microsoft ODBC-Treibers fⁿr SQL Server
- gelten au▀erdem die zusΣtzlichen treiberspezifischen Informationen,
- die als technische Hinweise unter "Using ODBC with Microsoft SQL
- Server" auf der Microsoft-Website angegeben sind.
-
- Die Datei Sqlsodbc.hlp, die in Version 3.7 des ODBC-Treibers fⁿr
- SQL Server enthalten ist, bietet ausschlie▀lich kontextbezogene
- Hilfe zum ODBC-Datenquellen-Assistent fⁿr SQL Server. Die
- Datei Drvssrvr.hlp, die in den frⁿheren Versionen des
- ODBC-Treibers fⁿr SQL Server enthalten war, enthielt
- treiberspezifische Informationen ⁿber frⁿhere Versionen des
- Treibers. Die Informationen, die in frⁿheren Versionen in der
- Datei Drvssrvr.hlp enthalten waren, finden Sie in dem SQL Server
- 6.5-Handbuch unter "Programming ODBC for Microsoft SQL Server".
-
- ****************************************************************
- 5. Verwendung des Treibers in einer Entwicklerumgebung
-
- Der ODBC-Treiber fⁿr SQL Server verwendet fⁿr einige
- ODBC-Funktionsaufrufe treiberspezifische Parameter. #defines fⁿr
- diese treiberspezifischen Parameter und treiberspezifische C- und
- C++-Programmierstrukturen sind in der Datei Odbcss.h enthalten.
-
- Die Version 3.7 des ODBC-Treibers fⁿr SQL Server kann mit der
- Datei Odbss.h verwendet werden, die in folgenden Quellen verfⁿgbar
- ist:
-
- * SQL Server 7.0
-
- * SQL Server 6.5 Service Pack 2 (SP2) oder h÷her.
-
- * MDAC SDK
-
- Das MDAC SDK ist Teil der Microsoft Developer
- Network Professional-Ausgabe. Das SDK kann auch von der
- Microsoft-Website heruntergeladen werden unter:
- http://www.microsoft.com/data. Das SDK ist auch von
- Microsoft Press in der "Microsoft ODBC 3.0 Software
- Development Kit and Programmer's Reference" verfⁿgbar.
-
- ****************************************************************
- 6. KompatibilitΣt
-
- Da die Version 3.7 des ODBC-Treibers in SQL Server 7.0
- enthalten ist, sollten Benutzer von SQL Server 7.0 in der
- ODBC-Dokumentation in SQL Server 7.0 nachlesen. Die in diesem
- Abschnitt angegebenen Informationen zur KompatibilitΣt gelten
- nur, wenn dieser Treiber mit frⁿheren Versionen von SQL Server
- (4.21a, 6.0 und 6.5) ausgefⁿhrt wird.
-
- Die Version 3.7 des ODBC-Treibers fⁿr SQL Server zeigt einen
- neuen Assistenten an, wenn mit dem
- ODBC-Administrator-Dienstprogramm Datenquellen hinzugefⁿgt oder
- konfiguriert werden oder wenn eine Anwendung SQLConfigDataSource
- aufruft und den Treiber dazu auffordert, Informationen vom
- Benutzer abzufragen. Durch Klicken auf die SchaltflΣche "Hilfe"
- im Assistenten erhalten Sie Zugriff auf die Dokumentation zum
- Assistenten.
-
- In der Version 2.65 des ODBC-Treibers fⁿr SQL Server, der
- zusammen mit SQL Server 6.5 geliefert wurde, wurde das Intervall
- SQL_COPT_SS_PERF_QUERY_INTERVAL anstatt von Millisekunden, wie
- fΣlschlicherweise in der Dokumentation beschrieben, in Sekunden
- angegeben (siehe Artikel "Knowledge Base" Q157753). In der
- Version 3.7 des ODBC-Treibers fⁿr SQL Server wurde das Intervall
- SQL_COPT_SS_PERF_QUERY_INTERVAL in Millisekunden geΣndert und
- entspricht jetzt den Angaben in der Dokumentation.
-
- Die folgenden ─nderungen betreffen ausschlie▀lich Anwendungen, die
- zur Verwendung von ODBC 3.X API geschrieben wurden. Anwendungen,
- die zur Verwendung von ODBC 2.X API geschrieben wurden, sind nicht
- betroffen. Diese ─nderungen sollten sich in den meisten
- ODBC-Anwendungen nicht auf die Verarbeitung von ErgebnissΣtzen
- auswirken.
-
- In frⁿheren Versionen des ODBC-Treibers fⁿr SQL Server geben
- aufeinanderfolgende PRINT- oder RAISERROR-Anweisungen in einem
- Stapel oder in einer gespeicherten Prozedur ihre Meldungen
- gemeinsam in einem Ergebnissatz zurⁿck. In Version 3.7 des
- ODBC-Treibers fⁿr SQL Server werden die Meldungen fⁿr jede
- SQL-Anweisung als separate ErgebnissΣtze zurⁿckgegeben. Sie mⁿssen
- zwischen jeder Meldung SQLMoreResults aufrufen, um die Meldung fⁿr
- die nΣchste SQL-Anweisung zu erhalten. Alle Meldungen von einer
- einzelnen SQL-Anweisung, z.B. einer DBCC-Anweisung, werden in einem
- einzigen Ergebnissatz zurⁿckgegeben, und Sie mⁿssen nicht zwischen
- jeder Meldung SQLMoreResults aufrufen.
-
- In frⁿheren Versionen des ODBC-Treibers fⁿr SQL Server hat ein
- Laufzeitfehler oder ein RAISERROR mit einem Schweregrad von 11 oder
- h÷her auf der ersten Anweisung in einem Stapel oder einer
- gespeicherten Prozedur immer dazu gefⁿhrt, da▀ SQLExecute,
- SQLExecDirect oder SQLParamData den Fehler SQL_ERROR zurⁿckgegeben
- haben. In Version 3.7 des ODBC-Treibers fⁿr SQL Server geben
- SQLExecute, SQLExecDirect oder SQLParamData nur den Fehler
- SQL_ERROR zurⁿck, wenn nach der ersten Anweisung keine weiteren
- Anweisungen ausgefⁿhrt werden. Wenn nach der ersten Anweisung
- weitere Anweisungen ausgefⁿhrt werden, auch bei einer einfachen
- RETURN-Anweisung ohne zurⁿckgegebenen Wert, geben SQLExecute oder
- SQLExecDirect die Meldung SQL_SUCCESS_WITH_INFO zurⁿck. Nach
- Verarbeitung von SQL_SUCCESS_WITH_INFO-Meldungen unter Verwendung
- von SQLGetDiagRec mⁿssen Sie SQLMoreResults aufrufen, um auf dem
- nΣchsten Ergebnissatz positioniert zu werden.
-
- Wenn bei frⁿheren Versionen des Treibers auf der ersten Anweisung
- in einem Stapel oder einer gespeicherten Prozedur ein Fehler
- aufgetreten ist, konnte die Zugriffsnummer fⁿr eine andere
- SQL-Anweisung verwendet werden, nachdem SQLExecute oder
- SQLExecDirect den Fehler SQL_ERROR zurⁿckgegeben haben. Wenn der
- 3.7-Treiber SQL_SUCCESS_WITH_INFO zurⁿckgibt, kann die Anweisung
- so lange keine andere SQL-Anweisung verarbeiten, bis
- SQLMoreResults SQL_NO_DATA zurⁿckgibt oder alle ErgebnissΣtze, die
- auf den RAISERROR folgen, geschlossen wurden. Wenn kein Ergebnissatz
- auf die Fehlermeldung folgt, kann SQLCloseCursor nicht aufgerufen
- werden. SQLFreeStmt(SQL_CLOSE) oder SQLMoreResults mu▀ aufgerufen
- werden, um die Zugriffsnummer freizugeben und eine andere
- SQL-Anweisung verarbeiten zu k÷nnen:
-
- CREATE PROCEDURE TestPrc @Parm1 as
- IF (@Parm1 IS NULL)
- BEGIN
- RAISERROR ('Parm1 cannot be NULL', 11, 1)
- RETURN
- END
- SELECT * FROM sysusers WHERE suid = @Parm1
- GO
-
- Fⁿhren Sie die folgende Anweisung aus:
-
- SQLExecDirect(hstmt, "{ call TestPrc (NULL) }", SQL_NTS);
-
- Wenn Sie eine frⁿhere Version des ODBC-Treibers fⁿr SQL
- Server verwenden oder die Anwendung ODBC 2.X API verwendet,
- gibt SQLExecDirect den Fehler SQL_ERROR zurⁿck. Nachdem
- SQLGetDiagRec SQL_NO_DATA oder SQLError SQL_NO_DATA_FOUND
- zurⁿckgegeben hat, ist die Zugriffsnummer bereit, um eine
- andere SQL-Anweisung auszufⁿhren.
-
- Wenn eine Anwendung, die fⁿr ODBC 3.X API geschrieben wurde,
- die Version 3.7 des ODBC-Treibers fⁿr SQL Server verwendet,
- gibt SQLExecDirect SQL_SUCCESS_WITH_INFO zurⁿck. Wenn
- SQLGetDiagRec SQL_NO_DATA zurⁿckgibt, kann die Zugriffsnummer
- so lange keine andere SQL-Anweisung verarbeiten, bis
- SQLMoreResults SQL_NO_DATA zurⁿckgibt oder
- SQLFreeStmt(SQL_CLOSE) aufgerufen wird.
-
- In frⁿheren Versionen des ODBC-Treibers fⁿr SQL Server geben
- SQLExecute, SQLExecDirect oder SQLParamData SQL_SUCCESS zurⁿck,
- wenn eine Anwendung eine gesuchte UPDATE- oder DELETE-Anweisung
- ausfⁿhrt, die keine Zeilen betrifft. In diesem Fall gibt die
- Version 3.7 des Treibers weiterhin SQL_SUCCESS an Anwendungen
- zurⁿck, die mit ODBC 2.X API geschrieben wurden. An Anwendungen,
- die mit ODBC 3.X API geschrieben wurden, gibt der Treiber
- SQL_NO_DATA zurⁿck. Wenn die Anwendung ODBC 2.X, die SQL_SUCCESS
- erhΣlt, oder die Anwendung ODBC 3.X, die SQL_NO_DATA erhΣlt,
- anschlie▀end SQLRowCount aufruft, gibt SQLRowCount den Wert Null
- zurⁿck.
-
- Die Version ODBC 3.X definiert in Vergleich zur frⁿheren Version
- ODBC 2.X deutlicher, wie Ergebnisse zurⁿckgegeben werden. Frⁿhere
- Versionen des ODBC-Treibers fⁿr SQL Server gaben die Werte von
- Ausgabeparametern und Rⁿckgabewerten zurⁿck, wenn die ODBC
- 2.X-Funktionen SQLFetch oder SQLExtendedFetch auf dem letzten von
- einer gespeicherten Prozedur zurⁿckgegebenen Ergebnissatz
- SQL_NO_DATA zurⁿckgaben. Dasselbe passiert bei der Version
- 3.7 des Treibers, wenn der Treiber von ODBC 2.X-Anwendungen
- aufgerufen wird. Wenn die Version 3.7 des ODBC-Treibers fⁿr SQL
- Server von ODBC 3.X-Anwendungen aufgerufen wird, gibt der Treiber
- jedoch so lange keine Ausgabeparameter oder Rⁿckgabewerte zurⁿck,
- bis SQLMoreResults SQL_NO_DATA zurⁿckgibt.
- ****************************************************************
-